package exception;

/**
 * throw关键字, 用于将一个异常抛出
 * 通常下列情况会主动将一个异常抛出到方法外:
 *  1.当前代码片段出现了异常, 但是该异常不应该在此处被处理(责任问题)
 *  2.程序中没有异常, 但是不符合现实业务逻辑, 则抛出异常
 */
public class ThrowDemo {
    public static void main(String[] args) {
        Person p = new Person();
        try{
            /*
            当我们调用一个含有throws声明异常跑出的方法是, 编译器要求必须处理该异常, 方法如下:
            1.使用try..catch捕获并处理该异常
            2.在当前方法中继续使用throws声明对该异常的抛出
            注意: 具体选择哪种方式, 取决于当前方法的调用者
            记住: 永远不要忽略异常
             */
            p.setAge(1000);
        }catch(IllegalAgeException e){
            //e.printStackTrace(); //向控制台输出异常的堆栈跟踪信息
            System.out.println(e.getMessage());//输出错误信息
        }

        System.out.println("此人年龄: "+p.getAge());

    }
}
